# 输入某二叉树的前序遍历和中序遍历的结果，请构建该二叉树并返回其根节点。
# 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。
#
# 来源：力扣（LeetCode）
# 链接：https://leetcode.cn/problems/zhong-jian-er-cha-shu-lcof/
#
# Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]
# Output: [3,9,20,null,null,15,7]


class TreeNode:
    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None


def build_tree(preorder: List[int], inorder: List[int]):
    if not preorder or not inorder:
        return None

    return process(preorder, inorder)


def process(preorder: List[int], inorder: List[int]):
